import { defineStore } from "pinia";
import { ref } from "vue";
import { LoginAPI} from '@/apis/user'
import { useCartStore } from "./cartStore";
import {mergeCartAPI } from '@/apis/cart'
export const useUserStore=defineStore('user',()=>{
  const userCart=useCartStore()
    //定义获取用户数据的stat
    const userInfo=ref({})
   //定义获取数据的action
   const getUserInfo=async ({account,password})=>{
     const res=await LoginAPI({account,password})
     userInfo.value=res.result
     //登录时合并购物车
      await mergeCartAPI(userCart.cartList.map(item=>{
        return{
          skuId:item.skuId,
          selected:item.selected,
          count:item.count
        }
      }))
      //重新加载购物车数据
      userCart.updateCart()
   }
   //取消登录
   const cancleLogin=()=>{
    userInfo.value={},
    //调用清除购物车的缓存
    userCart.delCart()
   }
   return{
    userInfo,
    getUserInfo,
    cancleLogin
   }
},
{
    persist: true,
  }
)